﻿//-----------------------------------------------------------------------
// <copyright file="MLParameterNameAndType.cs" company="MAPILab Ltd">
//     Copyright (c) MAPILab Ltd.  All rights reserved.
// </copyright>
//-----------------------------------------------------------------------
namespace MAPILab.SharePoint.Explorer.CodeForm.CodeTemplates
{
    /// <summary>
    /// Base class for parameter
    /// </summary>
    public class ParameterNameAndType
    {
        #region Fields
        /// <summary>
        /// Parameter type
        /// </summary>
        private string typeName;

        /// <summary>
        /// Parameter name
        /// </summary>
        private string name;

        /// <summary>
        /// Reference parameter
        /// </summary>
        private bool isRefParameter = false;

        /// <summary>
        /// Output parameter
        /// </summary>
        private bool isOutParameter = false;

        #endregion

        #region Properties

        /// <summary>
        /// Get and set parameter type
        /// </summary>
        public string TypeName
        {
            get { return this.typeName; }
            set { this.typeName = value; }
        }

        /// <summary>
        /// Get and set parameter name
        /// </summary>
        public string Name
        {
            get { return this.name; }
            set { this.name = value; }
        }

        /// <summary>
        /// Get and set referense property of parameter
        /// </summary>
        public bool IsRefParameter
        {
            get { return this.isRefParameter; }
            set { this.isRefParameter = value; }
        }
        /// <summary>
        /// Get and set output property of parameter
        /// </summary>
        public bool IsOutParameter
        {
            get { return this.isOutParameter; }
            set { this.isOutParameter = value; }
        }

        #endregion

        #region Constructor

        public ParameterNameAndType() { }

        #endregion
    }
}
